LocalQuickFix (Object... infos) { final PsiReferenceExpression returnValue = (PsiReferenceExpression)infos[1]; final String type = (String)infos[2]; if (CommonClassNames.JAVA_UTIL_DATE.equals(type) || CommonClassNames.JAVA_UTIL_CALENDAR.equals(type) || returnValue.getType() instanceof PsiArrayType) { final PsiField field = (PsiField)infos[0]; return new ReplaceWithCloneFix(field.getName()); } final boolean assignment = ((Boolean)infos[3]).booleanValue(); if (!assignment) { return ReturnOfCollectionFieldFix.build(returnValue); } return null; }